package uba.fi.tda.tp2;

public class DiccionarioHashaTable extends HashTable {

	public DiccionarioHashaTable(int tamanio) {
		super(tamanio*2);
	}
	
	@Override
	protected int buscarPos(Hasheable elemento) {
		int colision = 0;
		int posicionActual = elemento.hash(this.getTamanioActual());
		while (vector[posicionActual] != null && !((EntradaDiccionario)vector[posicionActual].getElemento()).getPalabra().equals(((EntradaDiccionario)elemento).getPalabra())){
			posicionActual += 2* ++colision -1;
			if (posicionActual >= vector.length){
				posicionActual -= vector.length;
			}
			if(posicionActual == vector.length){
				posicionActual -= vector.length;
			}
		} 
		return posicionActual;
	}

	public boolean existe(String palabra) {
		EntradaDiccionario entrada = new EntradaDiccionario();
		entrada.setPalabra(palabra);
		if(buscar(entrada)!=null){
			return true;
		}
		return false;
	}

}
